$(function(){
    /**
     * 自动化备份信息统计
     * 
    */
    // 全局变量
    var pageNo = 1,
        pageSize = 10,
        status = '',
        columnType = '',
        startTime = '',
        endTime = '',
        tableName = '',
        id = '';
        init()
    // 初始化
    function init(){
        getBackupinfoList()
        clickSwitch()
    }
    // 展示自动化备份信息统计列表
    function getBackupinfoList(pageNo){
        if(!pageNo)pageNo=1;
        $('#userList').tableAjaxLoader2(10);
        $.ajax({
            url: '../../dataBackup/getBackupinfo',
            type: 'post',
            data: {
                startTime: $('#tm1').val(),
                endTime: $('#tm2').val(),
                tableName: tableName,
                status: status,
                columnType: columnType,
                pageNo: pageNo,
                pageSize: pageSize,
                id: id
            },
            success: function(data){
                if(data.status) {
                    yunNoty(data)
                    $('#infoTable').find('tbody').html('<tr><td colspan=\"11\" style=\"text-align:center;\"><i class=\"glyphicon glyphicon-warning-sign\"></i>  当前纪录为空！</td></tr>');
                    $('#infoPage').html('');
                } else {
                    var html = [];
                    if(data.List && data.List.length > 0){
                        for(var i = 0; i < data.List.length;i++){
                            html.push('<tr id="'+ data.List[i].Id +'">')
                            html.push('<td class="sourceName"><span>'+ (data.List[i].SourceTableName || '--') +'</span></td>')
                            html.push('<td>'+ (data.List[i].BackupTableName || '--') +'</td>')
                            html.push('<td>'+ (data.List[i].VersionName || '--') +'</td>')
                            html.push('<td>'+ (data.List[i].BackupLevel || '--') +'</td>')
                            html.push('<td>'+ (data.List[i].LoopCount || '--') +'</td>')
                            html.push('<td>'+ (data.List[i].CreateTime || '--') +'</td>')
                            html.push('<td>'+ (data.List[i].UpdateTime || '--') +'</td>')
                            html.push('<td>'+ (data.List[i].StatusName || '--') +'</td>')
                            html.push('<td>'+ (data.List[i].ColumnName || '--') +'</td>')
                            html.push('<td>'+ (data.List[i].Timing || '--') +'</td>')
                            html.push('</tr>')
                        }
                        $('#infoTable').find('tbody').html(html.join(''))
						//下面开始处理分页
						var options = {
							data: [data, 'List', 'total'],
							currentPage: data.currentPage,
							totalPages: data.totlePages,
							onPageClicked: function (event, originalEvent, type, page) {
								getBackupinfoList(page);
							}
						};
                        setPage('infoPage',options);
                        $('.sourceName span').on('click', function(){
                            var $tr = $(this).parents('tr'),
                                item = $tr.attr('id')
                            $('#backupDetailModal').modal('show')
                            showBackup(item)
                        })
                    } else {
                        $('#infoTable').find('tbody').html('<tr><td colspan=\"11\" style=\"text-align:center;\"><i class=\"glyphicon glyphicon-warning-sign\"></i>  当前纪录为空！</td></tr>');
                        $('#infoPage').html('');
                    }
                }
            }
        })
    }
    // 点击源表出现模态框
    function showBackup(item){
            $.ajax({
                url: '../../dataBackup/getBackupinfo',
                type: 'post',
                data: {
                    startTime: startTime,
                    endTime: endTime,
                    tableName: tableName,
                    status: status,
                    columnType: columnType,
                    pageNo: pageNo,
                    pageSize: pageSize,
                    id: item
                },
                success: function(data){
                    if(data.status){
                        yunNoty(data)
                    } else {
                        if(data.List && data.List.length > 0){
                            $('#tableName').text(data.List[0].SourceTableName || '--')
                            $('#tableBakName').text(data.List[0].BackupTableName || '--')
                            $('#startId').text(data.List[0].StartId || '--')
                            $('#endId').text(data.List[0].EndId || '--')
                            $('#backupAfterCount').text(data.List[0].BackupAfterCount || '--')
                            $('#backupCount').text(data.List[0].BackupCount || '--')
                            $('#sourceCount').text(data.List[0].SourceCount || '--')
                            $('#statusName').text(data.List[0].StatusName || '--')
                            $('#createTime').text(data.List[0].CreateTime || '--')
                            $('#updateTime').text(data.List[0].UpdateTime || '--')
                            $('#versionRule').text(data.List[0].VersionRule || '--')
                            $('#versionName').text(data.List[0].VersionName || '--')
                            $('#backupLevel').text(data.List[0].BackupLevel || '--')
                            $('#loopCount').text(data.List[0].LoopCount || '--')
                            $('#columnType').text(data.List[0].ColumnType || '--')
                            $('#columnName').text(data.List[0].ColumnName || '--')
                            $('#backupDetail').text(data.List[0].BackupDetail || '--')
                            $('#tableBak').text(data.List[0].TableBak || '--')
                            $('#timing').text(data.List[0].Timing || '--')
                        }
                    }
                }
            })
        // })
    }
    // 切换时间，备份状态，字段状态
    function clickSwitch(){
        //datetimepicker配置项
        $(".form_datetime").datetimepicker({
            language: "zh-CN",
            format: "yyyy-mm-dd hh:ii",
            autoclose: true,
            todayBtn: true,
            minuteStep: 10,
            initialDate: new Date(),
            zIndex: 1500,
        });

        //全局变量 获得当前时间
        var myDate = new Date()
        var myDateM = myDate.getMonth() + 1//月
        var myDateD = myDate.getDate()//日
        var myDateHou = myDate.getHours()//时
        var myDateMin = myDate.getMinutes() + 2//分

        function updateTime() {
            myDate = new Date();
            myDateM = myDate.getMonth() + 1;//月
            myDateD = myDate.getDate();//日
            myDateHou = myDate.getHours();//时
            myDateMin = myDate.getMinutes() + 2;//分
            //日期显示格式调整
            if (myDateM < 10) {//判断现在月份格式
                myDateM = "0" + myDateM;
            }
            if (myDateD < 10) {//判断现在日期格式
                myDateD = "0" + myDateD;
            }
            if (myDateHou < 10) {//判断现在小时格式
                myDateHou = "0" + myDateHou;
            }
            if (myDateMin < 10) {//判断现在分钟格式
                myDateMin = "0" + myDateMin;
            }
        }

        if (myDateM < 10) {//判断现在月份格式
            myDateM = '0' + myDateM
        }
        if (myDateD < 10) {//判断现在日期格式
            myDateD = '0' + myDateD
        }
        if (myDateHou < 10) {//判断现在小时格式
            myDateHou = '0' + myDateHou
        }
        if (myDateMin < 10) {//判断现在分钟格式
            myDateMin = '0' + myDateMin
        }

        //页面初始化 默认一周自动填充时间
        function apply() {//获取一周前时间
            var newDatew = new Date()
            newDatew.setTime(new Date() - 7 * 24 * 60 * 60 * 1000)//此时newDatew变成了一周前的时间
            var weekMon = newDatew.getMonth() + 1//一周前的月份
            if (weekMon < 10) { weekMon = '0' + (newDatew.getMonth() + 1) }

            var weekDay = newDatew.getDate()//一周前的日
            if (weekDay < 10) { weekDay = '0' + newDatew.getDate() }

            var week = newDatew.getFullYear() + '-' + weekMon + '-' + weekDay
            $('#tm1').val(week + ' ' + myDateHou + ':' + myDateMin)//一周前的现在
            $('#tm2').val(myDate.getFullYear() + '-' + myDateM + '-' + myDateD + ' ' + myDateHou + ':' + myDateMin)//今天的时间
            getBackupinfoList()
        }

        // apply()

        //获得上月今天的方法
        function lastMonthDate() {
            var vYear = myDate.getFullYear()
            var vMon = myDate.getMonth() + 1
            var vDay = myDate.getDate()
            //每个月的最后一天日期（为了使用月份便于查找，数组第一位设为0）
            var daysInMonth = new Array(0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
            if (vMon == 1) {
                vYear = myDate.getFullYear() - 1
                vMon = 12
            } else {
                vMon = vMon - 1
            }
            //若是闰年，二月最后一天是29号
            if (vYear % 4 == 0 && vYear % 100 != 0) {
                daysInMonth[2] = 29
            }
            if (daysInMonth[vMon] < vDay) {
                vDay = daysInMonth[vMon]
            }
            if (vDay < 10) {
                vDay = '0' + vDay
            }
            if (vMon < 10) {
                vMon = '0' + vMon
            }
            var LastMonthDate = vYear + '-' + vMon + '-' + vDay
            return LastMonthDate
        }

        //点击弹出下拉菜单
        $('#myDropdown').on('click', function () {
            $(this).parent().toggleClass('open')
        })

        $('body').on('click', function (e) {
            if (!$('#myDropdown').parent().find($(e.target)).length) {
                $('#myDropdown').parent().removeClass('open')
            }
        })

        $('.ttw0').on('click', function () { //昨天
            updateTime();
            $('#myDropdown').parent().removeClass('open')
            $('.ttw').html($(this).text() + '<span class="caret"></span>')
            var newDate1 = new Date()//获取当前时间
            newDate1.setTime(newDate1.getTime() - 24 * 60 * 60 * 1000)//当前时间设置成昨天时间
            var yestM = newDate1.getMonth() + 1 //昨天的月
            if (yestM < 10) {
                yestM = '0' + yestM
            }
            var yestD = newDate1.getDate()//昨天的日
            if (yestD < 10) {
                yestD = '0' + yestD
            }
            pageNo = 1
            var yesterday = newDate1.getFullYear() + '-' + yestM + '-' + yestD
            $('.ttw').html($(this).text() + '<span class="caret"></span>')
            $('#tm1').val(yesterday + ' ' + '00' + ':' + '00')//昨天的时间
            $('#tm2').val(new Date().getFullYear() + '-' + myDateM + '-' + myDateD + ' ' + '00' + ':' + '00')//现在的时间
            getBackupinfoList()
        })

        $('.ttw1').on('click', function () { //今天
            updateTime();
            $('#myDropdown').parent().removeClass('open')
            $('.ttw').html($(this).text() + '<span class="caret"></span>')
            pageNo = 1
            $('#tm1').val(myDate.getFullYear() + '-' + myDateM + '-' + myDateD + ' ' + '00' + ':' + '00')//今天零点
            $('#tm2').val(myDate.getFullYear() + '-' + myDateM + '-' + myDateD + ' ' + myDateHou + ':' + myDateMin)//现在时间
            getBackupinfoList()
        })

        $('.ttw2').on('click', function () { //最近七天
            updateTime();
            $('#myDropdown').parent().removeClass('open')
            $('.ttw').html($(this).text() + '<span class="caret"></span>')
            apply()
        })
        $('.ttw3').on('click', function () { //最近一个月
            updateTime();
            $('#myDropdown').parent().removeClass('open')
            $('.ttw').html($(this).text() + '<span class="caret"></span>')
            pageNo = 1
            $('#tm1').val(lastMonthDate() + ' ' + myDateHou + ':' + myDateMin)//一月前的今天
            $('#tm2').val(new Date().getFullYear() + '-' + myDateM + '-' + myDateD + ' ' + myDateHou + ':' + myDateMin)//现在时间
            getBackupinfoList()
        })
        $('.ttw4').on('click', function () { //全部
            updateTime();
            $('#myDropdown').parent().removeClass('open')
            $('.ttw').html($(this).text() + '<span class="caret"></span>')
            pageNo = 1
            $('#tm1').val('')
            $('#tm2').val('')
            getBackupinfoList()
        })

        //自定义时间
        $('.btnSearch').on('click', function() {
            $('#myDropdown').parent().removeClass('open');
            pageNo = 1;
            startTime = $('#tm1').val()
            endTime = $('#tm2').val()
            if ($('#tm1').val() && $('#tm2').val()) {
                var dstart = new Date($('#tm1').val())
                    dend = new Date($('#tm2').val())
                if (dstart.getTime() > dend.getTime()) {
                    yunNotyError('开始时间不能大于结束时间!');
                    return;
                }
                var sValue = $('#tm1').val().split('-')
                var eValue = $('#tm2').val().split('-')
                $('.ttw').html(sValue[1] + '月' + sValue[2].split(' ')[0] + '日' + '-' + eValue[1] + '月' + eValue[2].split(' ')[0] + '日' + '&nbsp;<span class="caret"></span>')
            } else if (!($('#tm1').val() || $('#tm2').val())) {
                //两个时间框均为空
            } else {
                //单个时间框为空
                yunNotyError("请填写完整时间范围");
                return;
            }
            getBackupinfoList();
        });
        // 搜索源表名
        $('.searchBtn').on('click', function(){
            tableName = $('.search-input-addSrc').val()
            getBackupinfoList(1);
        })
        //搜索框回车
        $('.search-input-addSrc').keydown(function(event){
            if(event.keyCode == 13){
                $('.searchBtn').trigger('click')
            }
        });

        // 切换备份状态，字段状态
        $('.field1').on('click', function () { //全部状态
            $('.field0_0').html($(this).text() + '<span class="caret"></span>')
            columnType = ''
            pageNo = 1
            getBackupinfoList()
        })
        $('.field2').on('click', function () { //已更新
            $('.field0_0').html($(this).text() + '<span class="caret"></span>')
            columnType = 1
            pageNo = 1
            getBackupinfoList()
        })
        $('.field3').on('click', function () { //未更新
            $('.field0_0').html($(this).text() + '<span class="caret"></span>')
            columnType = 0
            pageNo = 1
            getBackupinfoList()
        })
        $('.backup1').on('click', function () { //全部状态
            $('.backup0_0').html($(this).text() + '<span class="caret"></span>')
            status = ''
            pageNo = 1
            getBackupinfoList()
        })
        $('.backup2').on('click', function () { //待备份
            $('.backup0_0').html($(this).text() + '<span class="caret"></span>')
            status = 0
            pageNo = 1
            getBackupinfoList()
        })
        $('.backup3').on('click', function () { //已备份
            $('.backup0_0').html($(this).text() + '<span class="caret"></span>')
            status = 1
            pageNo = 1
            getBackupinfoList()
        })
        $('.backup4').on('click', function () { //无备份
            $('.backup0_0').html($(this).text() + '<span class="caret"></span>')
            status = 3
            pageNo = 1
            getBackupinfoList()
        })
        $('.backup5').on('click', function () { //备份失败
            $('.backup0_0').html($(this).text() + '<span class="caret"></span>')
            status = -1
            pageNo = 1
            getBackupinfoList()
        })
    }
})